Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Displaying Rendered • View rawDownload


lang/README.it.md v4.4.0-rc.2 (8c81399b) Text, 11.95 KB

Reticulum MeshChatX


Un fork ampiamente modificato e ricco di funzionalita di Reticulum MeshChat di Liam Cottle.

Questo progetto e indipendente dal progetto originale Reticulum MeshChat e non e affiliato ad esso.

• Sito web: meshchatx.com
• Codice sorgente: git.quad4.io/RNS-Things/MeshChatX
• Mirror ufficiale: github.com/Sudo-Ivan/MeshChatX — usato anche per le build Windows e macOS al momento.
• Changelog: CHANGELOG.md
• TODO: Boards

Modifiche importanti rispetto a Reticulum MeshChat

• Usa LXST
• Peewee ORM sostituito con SQL diretto
• Axios sostituito con T383838fetch nativo
• Electron aggiornato
• Wheel T383838.whl con web server e asset frontend integrati per piu opzioni di deploy
• i18n
• PNPM e Poetry per le dipendenze

│ [!WARNING] MeshChatX non garantisce la compatibilita dei dati con le versioni precedenti di
│ Reticulum MeshChat. Eseguire un backup prima della migrazione o dei test.

│ [!WARNING] I sistemi legacy non sono ancora completamente supportati. Requisiti minimi attuali:
│ Python T383838>=3.11 e Node T383838>=24.

Requisiti

• Python T383838>=3.11 (da T383838pyproject.toml)
• Node.js T383838>=24 (da T383838package.json)
• pnpm T38383810.32.1 (da T383838package.json)
• Poetry (utilizzato in T383838Taskfile.yml e nei workflow CI)

T282828
task install
task lint:all
task test:all
task build:all

Metodi di installazione

Scegli il metodo in base all'ambiente e al formato del pacchetto.

┌─────────────────────────┬──────────────────────┬───────────────────────────────────────────┬─────┐
│ Metodo │ Include frontend │ Architetture │ Id… │
├─────────────────────────┼──────────────────────┼───────────────────────────────────────────┼─────┤
│ Immagine Docker │ Si │ T383838linux/amd64, T383838linux/arm64 │ Av… │
│ Python wheel (T383838.whl) │ Si │ Qualsiasi architettura supportata da Pyt… │ In… │
│ Linux AppImage │ Si │ T383838x64, T383838arm64 │ Us… │
│ Pacchetto Debian (T383838.deb) │ Si │ T383838x64, T383838arm64 │ In… │
│ Pacchetto RPM (T383838.rpm) │ Si │ Dipende dal CI │ Fe… │
│ Da sorgente │ Compilato localmente │ Architettura host │ Sv… │
└─────────────────────────┴──────────────────────┴───────────────────────────────────────────┴─────┘

Note:

• Il workflow di release compila esplicitamente Linux T383838x64 e T383838arm64 AppImage + DEB.
• RPM viene anche tentato e caricato quando prodotto con successo.

Avvio rapido: Docker

T282828
docker compose up -d

Il file compose predefinito mappa:

• T383838127.0.0.1:8000 sull'host -> porta T3838388000 del container
• T383838./meshchat-config -> T383838/config per la persistenza

In caso di errori di permessi:

T282828
sudo chown -R T79c0ff1000:1000 ./meshchat-config


Installazione da artefatti di release

1) Linux AppImage (x64/arm64)

1. Scaricare T383838ReticulumMeshChatX-v<versione>-linux-<arch>.AppImage dalle release.
2. Rendere eseguibile e avviare:

T282828
chmod +x ./ReticulumMeshChatX-v*-linux-*.AppImage
./ReticulumMeshChatX-v*-linux-*.AppImage

2) Debian/Ubuntu T383838.deb (x64/arm64)

1. Scaricare T383838ReticulumMeshChatX-v<versione>-linux-<arch>.deb.
2. Installare:

T282828
sudo apt install ./ReticulumMeshChatX-v*-linux-*.deb

3) Sistemi RPM

1. Scaricare T383838ReticulumMeshChatX-v<versione>-linux-<arch>.rpm se presente nella release.
2. Installare:

T282828
sudo rpm -Uvh ./ReticulumMeshChatX-v*-linux-*.rpm

4) Python wheel (T383838.whl)

I wheel delle release includono gli asset web compilati.

T282828
pip install ./reticulum_meshchatx-*-py3-none-any.whl
meshchatx --headless

T383838pipx e supportato:

T282828
pipx install ./reticulum_meshchatx-*-py3-none-any.whl

Esecuzione da sorgente (modalita web server)

Per sviluppo o build locali personalizzate.

T282828
git clone https://git.quad4.io/RNS-Things/MeshChatX.git
Tffa657cd MeshChatX
corepack Tffa657enable
pnpm install
pip install poetry
poetry install
pnpm run build-frontend
poetry run python -m meshchatx.meshchat --headless --host T79c0ff127.0.0.1


Esecuzione in sandbox (Linux)

Per eseguire il binario nativo T383838meshchatx (alias: T383838meshchat) con isolamento aggiuntivo del filesystem, puoi usare Firejail o Bubblewrap (T383838bwrap) mantenendo l'accesso di rete normale per Reticulum e l'interfaccia web. Esempi completi (pip/pipx, Poetry, note sulla seriale USB) sono in:


La stessa pagina compare nell'elenco Documentazione in-app (documentazione MeshChatX) quando viene servita dai file T383838meshchatx-docs inclusi o sincronizzati.

Compilazione pacchetti desktop da sorgente

Gli script sono definiti in T383838package.json e T383838Taskfile.yml.

Linux x64 AppImage + DEB

T282828
pnpm run dist:linux-x64

Linux arm64 AppImage + DEB

T282828
pnpm run dist:linux-arm64

RPM

T282828
pnpm run dist:rpm

Oppure tramite Task:

T282828
task dist:fe:rpm

Supporto architetture

• Docker: T383838amd64, T383838arm64
• Linux AppImage: T383838x64, T383838arm64
• Linux DEB: T383838x64, T383838arm64
• Windows: T383838x64, T383838arm64 (script di build disponibili)
• macOS: script di build disponibili (T383838arm64, T383838universal) per ambienti di build locali
• Android: progetto e workflow CI presenti nel repository

Android
Configurazione

┌────────────────────────┬──────────────────────────────────────┬─────────────┬────────────────────┐
│ Argomento │ Variabile d'ambiente │ Predefinito │ Descrizione │
├────────────────────────┼──────────────────────────────────────┼─────────────┼────────────────────┤
│ T383838--host │ T383838MESHCHAT_HOST │ T383838127.0.0.1 │ Indirizzo di bind… │
│ T383838--port │ T383838MESHCHAT_PORT │ T3838388000 │ Porta del web ser… │
│ T383838--no-https │ T383838MESHCHAT_NO_HTTPS │ T383838false │ Disattiva HTTPS │
│ T383838--ssl-cert / T383838--ssl-key │ T383838MESHCHAT_SSL_CERT / T383838MESHCHAT_SSL_KEY │ (nessuno) │ Percorsi PEM cert… │
│ T383838--rns-log-level │ T383838MESHCHAT_RNS_LOG_LEVEL │ (nessuno) │ Livello di log Re… │
│ T383838--headless │ T383838MESHCHAT_HEADLESS │ T383838false │ Non aprire il bro… │
│ T383838--auth │ T383838MESHCHAT_AUTH │ T383838false │ Attiva autenticaz… │
│ T383838--storage-dir │ T383838MESHCHAT_STORAGE_DIR │ T383838./storage │ Directory dei dati │
│ T383838--public-dir │ T383838MESHCHAT_PUBLIC_DIR │ auto/bundle │ Directory dei fil… │
└────────────────────────┴──────────────────────────────────────┴─────────────┴────────────────────┘

Branch

┌────────┬───────────────────────────────────────────────────────────────────────┐
│ Branch │ Scopo │
├────────┼───────────────────────────────────────────────────────────────────────┤
│ T383838master │ Release stabili. Solo codice pronto per la produzione. │
│ T383838dev │ Sviluppo attivo. Potrebbe contenere modifiche instabili o incomplete. │
└────────┴───────────────────────────────────────────────────────────────────────┘

Sviluppo

Attivita comuni da T383838Taskfile.yml:

T282828
task install
task lint:all
task test:all
task build:all

Scorciatoie T383838Makefile:

┌──────────────┬───────────────────────────────────────────┐
│ Comando │ Descrizione │
├──────────────┼───────────────────────────────────────────┤
│ T383838make install │ Installa dipendenze pnpm e poetry │
│ T383838make run │ Esegue MeshChatX tramite poetry │
│ T383838make build │ Compila il frontend │
│ T383838make lint │ Esegue eslint e ruff │
│ T383838make test │ Test frontend e backend │
│ T383838make clean │ Rimuove artefatti di build e node_modules │
└──────────────┴───────────────────────────────────────────┘

Versioning

Versione attuale nel repository: T3838384.4.0.

• La fonte della versione JavaScript/Electron e T383838package.json.
• T383838meshchatx/src/version.py e sincronizzato da T383838package.json con:

T282828
pnpm run version:sync

Per release coerenti, allineare i campi di versione dove richiesto (T383838package.json, T383838pyproject.toml, T383838meshchatx/__init__.py).

Sicurezza

• Controlli di integrita integrati e HTTPS/WSS predefiniti nell'app
• Workflow di scansione CI in T383838.gitea/workflows/

Aggiungere una lingua

Il rilevamento delle lingue e automatico. Per aggiungere una nuova lingua basta un singolo file JSON:

1. Generare un modello vuoto da T383838en.json:

T282828
python scripts/generate_locale_template.py

Scrive T383838locales.json con ogni chiave impostata a stringa vuota.

2. Rinominare e spostare nella cartella delle lingue:

T282828
mv locales.json meshchatx/src/frontend/locales/xx.json

3. Impostare T383838_languageName all'inizio del file con il nome nativo della lingua (es. T383838"Espanol", T383838"Francais"). Viene mostrato nel selettore lingua.

4. Tradurre tutti i valori rimanenti.

5. Verificare la corrispondenza delle chiavi: T383838pnpm test -- tests/frontend/i18n.test.js --run

Nessun altra modifica al codice e necessaria. App, selettore lingua e test scoprono le lingue in T383838meshchatx/src/frontend/locales/ al momento della build.

Crediti

Liam Cottle - Reticulum MeshChat originale
RFnexus - Parser Micron (JavaScript)
markqvist - Reticulum, LXMF, LXST


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────